Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра «Електронні обчислювальні машини»
Затверджено на засіданні кафедри ЕОМ. Протокол № 1 від 30 серпня 2007 року.
Завідувач кафедри КСТ проф. д.т.н. Мельник А.О.
Укладач доц. к.т.н. В. В. Троценко
ЛАБОРАТОРНИЙ ПРАКТИКУМ
з дисципліни
«Архітектура комп’ютерів і обчислювальних систем»
Частина 2
для студентів базового напрямку 0915 «Комп’ютерна інженерія»
Львів - 2007
ЗМІСТ
1. ЛР # 1. ПРАКТИКА РОБОТИ З АРХІТЕКТУРНИМ СИМУЛЯТОРОМ WinMIPS64 3
2. ЛР # 2. ДОСЛІДЖЕННЯ ВИКОНАННЯ ЦИКЛІВ НА КОНВЕЄРІ ІНСТРУКЦІЙ 12
3. ЛР # 3. КОНКУРЕНТНЕ ВИКОНАННЯ МАШИННИХ ІНСТРУКЦІЙ 17
4. ЛР # 4. ДОСЛІДЖЕННЯ КОНВЕЄРНОГО ВИКОНАННЯ ІНСТРУКЦІЙ РУХОМОЇ КОМИ 24
5. ЛР # 5. ДОСЛІДЖЕННЯ ТЕХНІЧНИХ ХАРАКТЕРИСТИК ЯДРА КОМП’ЮТЕРА 25
6. ЛР # 6. Дослідження розподілу системних ресурсів комп’ютера 30
7. ЛР # 7. Дослідження завантаження центрального процесора 33
Додаток 1. Вибрані терміни 34
ЛР # 1. ПРАКТИКА РОБОТИ З АРХІТЕКТУРНИМ СИМУЛЯТОРОМ WinMIPS64
Мета виконання роботи – навчитися користуванню симулятором WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64. Симулятор використовує операційну систему Windows.
1. Запуск і конфігурування симулятора WinMIPS64
Симулятор WinMIPS64 стартують за правилами Windows. Основне вікно симулятора містить шість дочірних вікон і ще статусну лінію під ними. Дочірні вікна отримали назви Pipeline, Code, Data, Registers, Statistics і ще вікно часових діаграм (Clock Cycles Diagram).
Рис. 2 – Основне і шість дочірних вікон симулятора WinMIPS64 (завантажено програму sum.s)
Далі подамо назви і пояснимо призначення дочірніх вікон симулятора.
Таблиця 1 – Дочірні вікна симулятора WinMIPS64
Pipeline window
( вікно конвеєра інструкцій, five pipeline stages :
1. IF – instruction fetch from instruction memory,
2. ID – instruction decoding/operand fetch,
3. EX – execute,
4. MEM – to/from data memory,
5. WB – write back to registers file)
Вікно містить “схематичне” подання п’ятисходинкового конвеєра інструкцій 64-розрядного процесора MIPS64 разом з апаратними секціями виконання операцій рухомої коми, а саме, додавання/віднімання (addition/subtraction) множення (multiplication) і ділення (division). Рухоме ділення не конвеєризоване.Це вікно показує, на якій сходинці конвеєра знаходиться та чи інша інструкція. Вікно може збільшуватися.
Code window (вікно коду)
Вікно виконує триколонкове подання пам’яті інструкцій, а саме, (зліва направо):
адреса байта,
32-бітову машинну інструкцію,
асемблерну інструкцію.
Подвійний лівий щиголь мишею на певній інструкції встановлює/знімає точку зупинки.
Продовження таблиці 1
Data window (вікно даних)
Це вікно показує вмістиме пам’яті даних,. Ясно, що адресування комірок виконується побайтне, проте у вікні вмістиме подане 64-бітовими пакетами, тобто так, як це вмістиме сприймає 64-розрядний процесор. Аби відредагувати певні дані, треба зробити на них подвійний лівий щиголь мешею (double-left-click).
Аби побачити і відрегувати дані з рухомою комою, треба виконати подвійний правий щиголь (double-right-click).
Register window (регістрове вікно)
Вікно подає вмістиме регістрів.
Коли вмістиме регістрів подають сірим кольором, тоді вмістиме цих регістрів змінюється під дією програми, що симулюється.
Коли вмістиме регістру подається кольором, тоді цей колір відповідає кольору сходинки конвеєра, де знаходится відповідна інструкція за умови, що з цієї сходинки є можливим так зване випередження (forwarding).
Це вікно дозволяє інтерактивну зміну вмістимого будь-якого регістру, тобто, залежно від контексту, зміну коду 64-бітового цілого або рухомого числа, що в поточний момент містить регістр. Останнє можливе лише за умови, що обраний регістр не знаходиться в процесі програмної зміни вмістимого і його вмістиме не має не використовуватися для випередження даними.
Аби змінити вмістиме регістра на ньому треба зробити подвійний лівий щиголь (double-lef...